from flask import Blueprint
from flask import redirect
from flask import request
from flask import session
from flask import url_for

admin_blu = Blueprint('admin', __name__)

from . import views


@admin_blu.before_request
def check_admin():
    # if 不是管理员，那么直接跳转到主页
    is_admin = session.get("is_admin", False)
    # 由于如果想着限制普通用户登录时候（管理员未登录的时候）不可以访问管理员后台（"admin/index.html"）,
    # 然而,这样就会导致不管在任何情况下（普通用户登录不登录）,管理员想打开admin/login.html想登录的时候会直接跳转到"/",
    # 因为在请求前,我们就会跳到请求钩子里执行。所以我们还需要再增加一个限制条件,
    # 以便于我们管理员可以正常打开登录页面进行登录。而这个限制条件就是剔除登录"admin/login.html"这个情况。

    # if not is_admin and 当前访问的url不是管理登录页:
    if not is_admin and not request.url.endswith(url_for('admin.login')):
        return redirect('/')